package com.kehutong.charge.entity;

import com.kehutong.charge.util.enums.ChargeOrderStatusEnum;
import com.kehutong.charge.util.enums.CommonEnum;
import com.kehutong.charge.util.enums.ResidentsTypeEnum;
import com.kehutong.common.entity.DataEntity;
import org.coraframework.json.annotation.JSONField;
import org.coraframework.orm.annotation.Column;
import org.coraframework.orm.annotation.Table;
import org.coraframework.orm.util.IDType;

import java.math.BigDecimal;
import java.sql.Timestamp;

/**
 * @program: kht
 * @description: ChargeOrderManage
 * @author: joneron
 * @create: 2021/7/5
 **/
@Table(value="t_charge_order_item", comment="订单子类目表",multi = true, idType = IDType.TIMESTAMP, engine = "innodb")
public class ChargeOrderItem extends DataEntity {


    protected ChargeOrderItem(String id) {
        super(id);
    }

    @Column(comment="订单编号")
    private String orderNo;

    @Column(comment="订单子编号")
    private String orderItemNo;

    @Column(comment="账单编号")
    private String houseBillNo;

    @Column(comment="账单费项编号")
    private String itemBillNo;

    @Column(comment="小区编号")
    private String communityNo;

    @Column(comment="小区名称")
    private String communityName;

    @Column(comment="住户类型")
    private ResidentsTypeEnum residentsType;

    @Column(comment="房间编号")
    private String houseNo;

    @Column(comment="楼栋编号")
    private String buildNo;

    @Column(comment="账单地址")
    private String billAddress;

    @Column(comment="支付年月")
    private String orderYearMonth;

    @Column(comment="订单金额")
    private BigDecimal orderAmount;

    @Column(comment="应付金额")
    private BigDecimal payableAmount;

    @Column(comment="实付金额")
    private BigDecimal paymentAmount;

    @Column(comment="议价金额")
    private BigDecimal negotiateAmount;

    @Column(comment="费用类型编号")
    private String feeTypeNo;

    @Column(comment="费用类型名称")
    private String feeTypeName;

    @Column(comment="使用量")
    private BigDecimal usageNumber;

    @Column(comment="计费单位")
    private String calcUnit;

    @Column(comment="订单状态")
    private ChargeOrderStatusEnum orderStatus;

    @Column(comment="操作状态")
    private ChargeOrderStatusEnum optStatus;

    @Column(comment="支付方式")
    private CommonEnum payMethod;

    @Column(comment="支付时间")
    private Timestamp payTime;

    @Column(comment="订单来源")
    private CommonEnum orderOrigin;

    @Column(comment="付款人名称")
    private String chargeName;

    @Column(comment="付款人编号")
    private String userNo;

    @Column(comment="创建人")
    private String createName;

    @Column(comment="修改人")
    private String updateName;

    @JSONField(serialize = false)
    @Column(comment = "逻辑删除")
    private boolean deleted;

    public ChargeOrderStatusEnum getOptStatus() {
        return optStatus;
    }

    public void setOptStatus(ChargeOrderStatusEnum optStatus) {
        this.optStatus = optStatus;
    }

    public String getBuildNo() {
        return buildNo;
    }

    public void setBuildNo(String buildNo) {
        this.buildNo = buildNo;
    }

    public ResidentsTypeEnum getResidentsType() {
        return residentsType;
    }

    public void setResidentsType(ResidentsTypeEnum residentsType) {
        this.residentsType = residentsType;
    }

    public String getOrderYearMonth() {
        return orderYearMonth;
    }

    public void setOrderYearMonth(String orderYearMonth) {
        this.orderYearMonth = orderYearMonth;
    }

    public Timestamp getPayTime() {
        return payTime;
    }

    public void setPayTime(Timestamp payTime) {
        this.payTime = payTime;
    }

    public String getCommunityName() {
        return communityName;
    }

    public void setCommunityName(String communityName) {
        this.communityName = communityName;
    }

    public String getHouseBillNo() {
        return houseBillNo;
    }

    public void setHouseBillNo(String houseBillNo) {
        this.houseBillNo = houseBillNo;
    }

    public String getFeeTypeNo() {
        return feeTypeNo;
    }

    public void setFeeTypeNo(String feeTypeNo) {
        this.feeTypeNo = feeTypeNo;
    }

    public String getFeeTypeName() {
        return feeTypeName;
    }

    public void setFeeTypeName(String feeTypeName) {
        this.feeTypeName = feeTypeName;
    }

    public BigDecimal getUsageNumber() {
        return usageNumber;
    }

    public void setUsageNumber(BigDecimal usageNumber) {
        this.usageNumber = usageNumber;
    }

    public String getCalcUnit() {
        return calcUnit;
    }

    public void setCalcUnit(String calcUnit) {
        this.calcUnit = calcUnit;
    }

    public String getOrderItemNo() {
        return orderItemNo;
    }

    public void setOrderItemNo(String orderItemNo) {
        this.orderItemNo = orderItemNo;
    }

    public String getHouseNo() {
        return houseNo;
    }

    public void setHouseNo(String houseNo) {
        this.houseNo = houseNo;
    }

    public BigDecimal getPayableAmount() {
        return payableAmount;
    }

    public void setPayableAmount(BigDecimal payableAmount) {
        this.payableAmount = payableAmount;
    }

    public BigDecimal getPaymentAmount() {
        return paymentAmount;
    }

    public void setPaymentAmount(BigDecimal paymentAmount) {
        this.paymentAmount = paymentAmount;
    }

    public BigDecimal getNegotiateAmount() {
        return negotiateAmount;
    }

    public void setNegotiateAmount(BigDecimal negotiateAmount) {
        this.negotiateAmount = negotiateAmount;
    }

    public String getUserNo() {
        return userNo;
    }

    public void setUserNo(String userNo) {
        this.userNo = userNo;
    }

    public String getOrderNo() {
        return orderNo;
    }

    public void setOrderNo(String orderNo) {
        this.orderNo = orderNo;
    }

    public String getItemBillNo() {
        return itemBillNo;
    }

    public void setItemBillNo(String itemBillNo) {
        this.itemBillNo = itemBillNo;
    }

    public String getCommunityNo() {
        return communityNo;
    }

    public void setCommunityNo(String communityNo) {
        this.communityNo = communityNo;
    }

    public String getBillAddress() {
        return billAddress;
    }

    public void setBillAddress(String billAddress) {
        this.billAddress = billAddress;
    }

    public BigDecimal getOrderAmount() {
        return orderAmount;
    }

    public void setOrderAmount(BigDecimal orderAmount) {
        this.orderAmount = orderAmount;
    }

    public ChargeOrderStatusEnum getOrderStatus() {
        return orderStatus;
    }

    public void setOrderStatus(ChargeOrderStatusEnum orderStatus) {
        this.orderStatus = orderStatus;
    }

    public CommonEnum getPayMethod() {
        return payMethod;
    }

    public void setPayMethod(CommonEnum payMethod) {
        this.payMethod = payMethod;
    }

    public CommonEnum getOrderOrigin() {
        return orderOrigin;
    }

    public void setOrderOrigin(CommonEnum orderOrigin) {
        this.orderOrigin = orderOrigin;
    }

    public String getChargeName() {
        return chargeName;
    }

    public void setChargeName(String chargeName) {
        this.chargeName = chargeName;
    }

    public String getUpdateName() {
        return updateName;
    }

    public void setUpdateName(String updateName) {
        this.updateName = updateName;
    }

    public boolean isDeleted() {
        return deleted;
    }

    public void setDeleted(boolean deleted) {
        this.deleted = deleted;
    }

    public String getCreateName() {
        return createName;
    }

    public void setCreateName(String createName) {
        this.createName = createName;
    }
}
